Life


Even if it is defined as a game, Life really is not one in the true sense of the word. In fact, the interaction with the player is limited to the initial phase of the game. In reality, Life is much more of a simulation than a game: the evolution of a population of individuals. The simulation takes place on a grid of a fixed dimensions, on which the population is arranged. The individuals then evolve according to simple rules that define the three basic events of Life: birth, survival, and death.

Given the equivalence between the rules of Life and the functioning of a Cellular Neural Network (the cells of a Life grid can be mapped onto those of a CNN, every state depends on the previous one, and every cell on its neighbors), a CNN can be used for simulating in real time the evolution of a population in Life. The implementation of Life presented here uses a discrete Cellular Neural Network (DTCNN) with the following (piece-wise) non-linear templates:


     a a a        0 0 0
A =  a b a    B = 0 0 0    I = 0
     a a a        0 0 0

The algorithm works in two steps. In the first, the previous state of the cell is codified, and in the second the new value of the cell is calculated. This implies that the new generation will be visualized every two steps of simulation.
The output of the first step is given by the equation:

basic number + 0.1 * live neighbors

where the basic number has a value of -0.5 if the individual is alive (1) and of -0.45 if it is dead (-1).
The second step will let the individual be born or live only if the output of the first step is included in the interval [-0.25, -0.15], i.e., when the function b has a value of 1.

Here is a simple demonstration of "Life" .